package com.sun.sp.config;

import org.apache.catalina.LifecycleException;
import org.apache.catalina.startup.Tomcat;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;

import javax.servlet.ServletException;
import java.io.File;

public class SpringApplication {

    public static void run(Object o, String[] args) throws Exception {

        //1、初始化IOC 通过注解的方式初始化Spring的上下文
        AnnotationConfigWebApplicationContext ac = new AnnotationConfigWebApplicationContext();
        //注册spring的配置类（替代传统项目中xml的configuration）
        ac.register(AppConfig.class);
        ac.refresh();
        //2、获取&启动tomcat
        //创建一个tomcat服务器
        Tomcat tomcat=new Tomcat();
        tomcat.setPort(8080);
        // 禁止重新载入
        tomcat.addWebapp("/",new File("src/main").getAbsolutePath()).setReloadable(false);
        tomcat.start();
        //因为  tomcat.start();是非阻塞型的，所以要阻塞一下，不能让服务停止。
        tomcat.getServer().await();

    }

}
